<?php
//------------------------------------------------------------ Contraintes d'accès de la page

	// on vérifie que cette page est appelée à partir de l'index et que l'utilisateur a le droit de consultation
	if(isset($_SESSION) && ($GLOBALS['USER']['level'] >= 2 || $GLOBALS['USER']['admin'])){

?>
<?php
//------------------------------------------------------------ Définition des variables d'affichage

	// variable indiquant la page sélectionnée
	if(isset($_GET['l']) && numericInt($_GET['l'])){ 
		$page = $_GET['l'];
	}else{
		$page = 1;
	}
	
	// variable indiquant l'ordre selon lequel on tri la liste
	if(isset($_GET['o'])){
		switch($_GET['o']){
		case 0: $ordre = 0; $ordreBDD = "ASC"; break;
		case 1: $ordre = 1; $ordreBDD = "DESC"; break;
		default: $ordre = 0; $ordreBDD = "ASC"; break;
		}
	}else{
		$ordre = 0;
		$ordreBDD = "ASC";
	}
	
	// variable indiquant la colonne selon laquelle on tri la liste
	if(isset($_GET['t'])){
		switch($_GET['t']){
		case 1: $tri = 1; $triBDD = "nomSESP ".$ordreBDD.", espece ".$ordreBDD; break;
		case 2: $tri = 2; $triBDD = "nomAuteur ".$ordreBDD; break;
		default: $tri = 1; $triBDD = "nomSESP ".$ordreBDD.", espece ".$ordreBDD; break;
		}
	}else{
		$tri = 1;
		$triBDD = "nomSESP ".$ordreBDD.", espece ".$ordreBDD;
	}
	
	// Traitement des options
	$opt_let = "all";
	
	if(isset($_GET['opt_let'])){
		if(mb_ereg("[a-z]", $_GET['opt_let'])){
			$opt_let = $_GET['opt_let'];
		}
	}
	
?>
<?php
//------------------------------------------------------------ Récupération de la liste des sous-espèces

	// On compte le nombre total de sous-especès enregistrées
	$nb_total_sousespeces = 0;
	
	$query_compte_sousespeces = "SELECT COUNT(*) ";
	$query_compte_sousespeces .= "FROM sous_espece ";
	
   if($opt_let != "all"){
		$query_compte_sousespeces .= "WHERE NOMSOUSESPECE LIKE '".$opt_let."%' ";
	}

	
	$result_compte_sousespeces = mysql_query($query_compte_sousespeces, $connexion) or logError("COMPTE SOUS ESPECES-".$query_compte_sousespeces."-".mysql_error());
	
	$tab_compte_sousespeces = mysql_fetch_row($result_compte_sousespeces);
	
	$nb_total_sousespeces = $tab_compte_sousespeces[0];
	
	mysql_free_result($result_compte_sousespeces);
	
	// récupération des informations des sous-espèces
	$query_recuperation_liste_sousespeces = "SELECT se.CODESOUSESPECE AS id, se.NOMSOUSESPECE AS nomSESP, e.NOMESPECE AS espece, c.NOMCLASSIFICATION AS classification, a.CODEAUTEUR AS idAuteur, a.ABREVIATIONAUTEUR AS nomAuteur ";
	$query_recuperation_liste_sousespeces .= "FROM sous_espece se ";
   $query_recuperation_liste_sousespeces .= "LEFT JOIN auteur a ON a.CODEAUTEUR = se.CODEAUTEUR ";
	$query_recuperation_liste_sousespeces .= "LEFT JOIN a_pour_espece l INNER JOIN espece e ON e.CODEESPECE = l.CODEESPECE INNER JOIN classification c ON c.CODECLASSIFICATION = l.CODECLASSIFICATION  ON l.CODESOUSESPECE = se.CODESOUSESPECE ";
	$query_recuperation_liste_sousespeces .= "WHERE l.CODECLASSIFICATION = (SELECT MIN(CODECLASSIFICATION) FROM a_pour_espece WHERE CODESOUSESPECE = se.CODESOUSESPECE) ";
	
   if($opt_let != "all"){
		$query_recuperation_liste_sousespeces .= "AND se.NOMSOUSESPECE LIKE '".$opt_let."%' ";
	}
	
	$query_recuperation_liste_sousespeces .= "ORDER BY ".$triBDD." ";
	$query_recuperation_liste_sousespeces .= "LIMIT ".(($page-1)*$GLOBALS['CONFIG']['nbParPage']).", ".($GLOBALS['CONFIG']['nbParPage'])." ";
	
	$result_recuperation_liste_sousespeces = mysql_query($query_recuperation_liste_sousespeces, $connexion) or logError("RECUPERATION LISTE SOUS ESPECES-".$query_recuperation_liste_sousespeces."-".mysql_error());
	
	$lst_sousespeces = array(); // on créé un tableau qui contient la liste des sous-espèces ainsi que les informations de chacun
	$nb_sousespeces = 0;
	while($tab_recuperation_liste_sousespeces = mysql_fetch_assoc($result_recuperation_liste_sousespeces)){
	
		$lst_sousespeces[$nb_sousespeces] = $tab_recuperation_liste_sousespeces;
		$nb_sousespeces++;
		
	}
	
	mysql_free_result($result_recuperation_liste_sousespeces);

?>
<div class="navigation" style="text-align: center;"><a href="index.php?p=gestion/famille_gere">Familles</a> » <a href="index.php?p=gestion/sousfamille_gere">sous-Familles</a> » <a href="index.php?p=gestion/genre_gere">Genres</a> » <a href="index.php?p=gestion/sousgenre_gere">sous-Genres</a> » <a href="index.php?p=gestion/espece_gere">Espèces</a> » <b>sous-Espèces</b> » <a href="index.php?p=gestion/variete_gere">Variétés</a></div>
<br />
<hr style="margin-left: auto; margin-right: auto; width: 62%;" />
<a name="liste"></a>
<h2>Liste des sous-espèces</h2>

<?php  

   $tabth = array ('Sous-espèce (Espèce)','Auteur');
   
   for($i=0;$i<$nb_sousespeces;$i++){
   
      
   
      $tab_result[$i] = array (  htmlentities($lst_sousespeces[$i]['id'], ENT_NOQUOTES, "UTF-8"),
                                 htmlentities($lst_sousespeces[$i]['nomSESP'], ENT_NOQUOTES, "UTF-8")." (".htmlentities($lst_sousespeces[$i]['espece'], ENT_NOQUOTES, "UTF-8")." - <i>".htmlentities($lst_sousespeces[$i]['classification'], ENT_NOQUOTES, "UTF-8")."</i>)",
                                 htmlentities(capitalise($lst_sousespeces[$i]['nomAuteur']), ENT_NOQUOTES, "UTF-8") );
   
   }

   
   displayListe("sousespece",700,$nb_total_sousespeces,$opt_let,'',1,'');

//------------------------------------------------------------ Accès refusé à la page

	}else{
		if(isset($_SESSION)){
			if(!isset($_SESSION['user_id'])){ // si l'utilisateur n'est pas connecté
				include("pages/connexion.php");
			}else{ // si l'utilisateur est connecté et qu'il n'a pas accès à la page, c'est qu'il n'a pas le droit d'utilisation nécessaire
				include("pages/401.htm");
			}
		}
	}

?>